#include<iostream>
using namespace std;
int main()
{
    int time;
    cin>>time;
    while(time--)
    {
        int row,line;
        cin>>row>>line;
        int** num=new int*[row];
        //题目要求申请二维数组，这个方法肯定得记住啦，万一考试考？
        for(int i=0;i<row;i++)
        {
            num[i]=new int[line];
        }//每一行都要申请line这么多的空间

        for(int i=0;i<row;i++)
            for(int j=0;j<line;j++)
                cin>>num[i][j];

        int max=num[0][0];
        int min=num[0][0];
        for(int i=0;i<row;i++)
            for(int j=0;j<line;j++)
            {
                if(num[i][j]>max)
                    max=num[i][j];
                if(num[i][j]<min)
                    min=num[i][j];
            }
        cout<<min<<" "<<max<<endl;
        //就遍历数组找最大最小值
        delete[] num;
    }
}